python怎么连接sql server?python操作数据库介绍! 您所在的位置:网站首页 python怎么连接数据库python连接数据库方式详解 w3c python怎么连接sql server?python操作数据库介绍!

python怎么连接sql server?python操作数据库介绍!

2024-07-13 23:59| 来源: 网络整理| 查看: 265

对于一个应用而言数据库的使用是相当重要的。现在主流的数据库都是使用MySQL或者oracle,但还是有一部分用户使用微软的SqlServer。所以python连接SqlServer数据库是相当必要的。那么python怎么操作SqlServer呢?接下来这篇文章告诉你。

先利用pip安装pymssql库

pip install pymssql

具体连接、测试代码:

# server默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433' # user默认为sa # password为自己设置的密码 # database为数据库名字 server = '127.0.0.1' user = "sa" password = "123456" database = "pubs" conn = pymssql.connect(server, user, password, database) # 可简化为conn = pymssql.connect(host='localhost', user='sa', password='123456', database='pubs') cursor = conn.cursor() cursor.execute('SELECT * FROM titles') print( cursor.fetchall() ) # 如果用pandas读取数据库 import pymssql import pandas as pd conn = pymssql.connect('IP地址','账号','密码','数据库') sql_1 = "SELECT Id,creat_time from 表名" #利用pandas直接获取数据" data = pd.read_sql(sql_1, conn) conn.close() print(data)

封装好的版本:

#coding=utf-8 # sqlserver的连接 import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): """ 得到连接信息 返回: conn.cursor() """ if not self.db: raise(NameError,"没有设置数据库信息") self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8") cur = self.conn.cursor() if not cur: raise(NameError,"连接数据库失败") else: return cur def ExecQuery(self,sql): """ 执行查询语句 返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段 """ cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() #查询完毕后必须关闭连接 self.conn.close() return resList def ExecNonQuery(self,sql): """ 执行非查询语句 调用示例: cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() """ cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() def main(): # host默认为127.0.0.1,如果打开了TCP动态端口的需要加上端口号,如'127.0.0.1:1433' # user默认为sa # pwd为自己设置的密码 # db为数据库名字 ms = MSSQL(host='127.0.0.1',user="sa",pwd="123456",db="pubs") resList = ms.ExecQuery("SELECT * FROM titles") print(resList) if __name__ == '__main__': main()

如果出现pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9: Unable to connect: Adaptive Server is unavailable or does not exist (SZSSQLEXPRESS) ')类似保错,有以下几个可能的原因:

1.数据库名字写错

2.tcp/ip协议未开启,这个位于(右键此电脑,点击管理,点击服务与应用程序,点击sql配置管理器,点击sql server网络配置,点击mssqlserver的协议,右键tcp/ip,点击启用,重启电脑后才会生效)

数据库配置

3.动态端口错误,默认是没有打开动态端口的,如果打开了就需要写端口号,在2中的tcp/ip协议中查看动态端口号,点击tcp/ip协议,点击ip地址,然后翻到最下面,找到ipall 里面的动态端口号,也可以将动态端口号删掉,然后不写

端口配置

4.sa用户登录未启用

打开sql server management studio,点击安全性,点击登录名,如果sa项出现红色的×则说明sa用户登录未启用,右键sa点击属性,点击状态即可启用。

sa用户状态

启用sa用户

到此这篇怎么用python操作sql server的文章就介绍到这了,更多python学习内容请搜索W3Cschool以前的文章或继续浏览下面的相关文章。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有